import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {

    public static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    public static StringTokenizer st;

    public static String next() throws IOException {
        while (st == null || !st.hasMoreTokens()) {
            st = new StringTokenizer(br.readLine());
        }

        return st.nextToken();
    }

    public static String nextLine() throws IOException {
        return br.readLine();
    }

    public static boolean hasNext() throws IOException {
        return br.ready();
    }

    public static int nextInt() throws IOException {
        return Integer.parseInt(next());
    }

    public static void main(String[] args) throws IOException {
        int n = nextInt();
        double ret = 0;


        double[][] line = new double[n + 1][3];

        for (int i = 0; i < n; i++) {
            long a = nextInt();
            long b = nextInt();

            ret = Math.max(Math.max(a, b), ret);

            line[i][0] = b - a;
            line[i][1] =-2e5;
            line[i][2] = (a + b) * 1e5;

        }


        double l = -1e5;
        double r = 1e5;
        double tmp = 1e-6;
        double max = -0x3f;
        double maxR = -0x3f;

        while (r - l > tmp) {
            double mid = (r - l) / 2 + l;


            max = f(mid, n, line);
            maxR = f(mid + tmp, n, line);

            if (maxR > max) {
                r = mid;
            } else {
                l = mid;
            }

        }
        ret = Math.min(ret, Math.min(maxR,max));


        System.out.printf("%.2f", ret);

    }

    private static double f(double mid, int n, double[][] line) {

        double max = -0x3f;


        for (int i = 0; i < n; i++) {
            double y = (-line[i][2] - line[i][0] * mid) / line[i][1];
            max = Math.max(max, y);

        }

        return max;


    }
}


    class T {
        public static void main(String[] args) {
            int[] nums = {1, 2, 3, 4, 5, 6, 77};
            int target = 2;
            int left = 0, right = nums.length - 1;
            int mid;

            while (left < right) {
                System.out.println(1);
                mid = (right - left) / 2 + left;
                if (nums[mid] < target) left = mid+1;
                else right = mid;
            }

            System.out.println(2e5);
            System.out.println((int)2e5);
        }
    }

